////https://www.luogu.com.cn/problem/P1002
//
//#include<iostream>
//
//using namespace std;
//typedef long long ll;
//
//const int N = 30;
//int x[N][N];
//ll dp[N][N];
//const int dy[] = { 1,2,2,1,-1,-2,-2,-1 };
//const int dx[] = { 2,1,-1,-2,-2,-1,1,2 };
//
//int main()
//{
//	int n, m; cin >> n >> m;
//	int a, b; cin >> a >> b;
//	a++, b++; n++, m++;
//	x[a][b] = 1;
//	for (int i = 0; i < 8; i++)
//	{
//		for (int j = 0; j < 8; j++)
//		{
//			int nx = a + dx[i], ny = b + dy[i];
//			if (nx < 1 || ny < 1) continue;
//			x[nx][ny] = 1;
//		}
//	}
//	dp[0][1] = 1;
//	for (int i = 1; i <= n; i++)
//	{
//		for (int j = 1; j <= m; j++)
//		{
//			if (x[i][j] == 1) continue;
//			dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
//		}
//	}
//	cout << dp[n][m];
//	return 0;
//}